//package com.zyf.service.config;
//
//import org.mybatis.spring.annotation.MapperScan;
//import org.springframework.context.annotation.Configuration;
//
//
//@Configuration
//public class SqliteConfig {
//
//    //数据源url
//    @Value("${blog.sqlite.url}")
//    private String dataSourceUrl;
//
//    /**
//     * 配置sqlite数据源
//     * @return
//     */
//    @Bean(name = "sqliteDataSource")
//    public DataSource sqliteDataSource(){
//        //尝试创建sqlite文件-不存在时创建
//        SqliteUtils.initSqliteFile(SqliteUtils.getFilePath(dataSourceUrl));
//        //创建数据源
//        DataSource dataSource  = SqliteBuilder.create().url(dataSourceUrl).build();
//        try {
//            //尝试初始化数据库-表不存在时创建
//            SqliteUtils.initProDb(dataSource.getConnection());
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        return dataSource;
//    }
//
//
//    /**
//     * session工厂
//     */
//    @Bean(name = "sqlSessionFactory")
//    public SqlSessionFactory sqlSessionFactory(
//            @Qualifier("dynamicDataSource") DynamicDataSource dataSource) throws Exception {
//        SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
//        sessionFactoryBean.setDataSource(dataSource);
//        sessionFactoryBean.setMapperLocations(
//                new PathMatchingResourcePatternResolver().
//                        getResources("classpath:mapper/**/*.xml"));
//        return sessionFactoryBean.getObject();
//
//    }
//
//    /**
//     * session模板
//     * @param sqlSessionFactory
//     * @return
//     */
//    @Bean(name = "sqlSessionTemplate")
//    public SqlSessionTemplate ComSqlSessionTemplate(
//            @Qualifier("sqlSessionFactory") SqlSessionFactory sqlSessionFactory) {
//        return new SqlSessionTemplate(sqlSessionFactory);
//    }
//
//    /**
//     * 动态数据源
//     * @param dataSource
//     * @return
//     */
//    @Bean(name = "dynamicDataSource")
//    public DynamicDataSource dynamicDataSource(@Qualifier("sqliteDataSource") DataSource dataSource){
//        return  new DynamicDataSource(dataSource);
//    }
//
//}
